//
// IDevice.cs
//
// Copyright (C) 2008 Lukas Lipka <lukaslipka@gmail.com>
//
 
using System;
using System.Collections;

using NDesk.DBus;

namespace NetworkManager {
    
	[Interface("org.freedesktop.NetworkManager.Device")]
	internal interface IDevice {
		void Deactivate ();

		string Udi { get; }
		string Interface { get; }
		uint Capabilities { get; }
		int Ip4Address { get; }
		uint State { get; }
		ObjectPath Ip4Config { get; }
		bool Carrier { get; }
		DeviceType DeviceType { get; }

		// FIXME: Finish signals

		//<signal name="StateChanged">
		//<arg name="state" type="u"/>
		//</signal>			
		//<signal name="CarrierChanged">
		//<arg name="carrier_on" type="b"/>
		//</signal>
	}
}
